Shader "Hidden/15BloomShader"
//用于处理图像的灰度转换

{
    Properties
	{
		_MainTex ("Texture", 2D) = "white" {}
		_DisplaceTex ("_DisplaceTexMap", 2D) = "bump" {} //bump 是一个特殊的纹理，它的每个像素都代表一个方向向量
       
	}
	SubShader
{
    Pass
    {
        CGPROGRAM
        #pragma vertex vert_img
        #pragma fragment frag
        #include "UnityCG.cginc"

        sampler2D _MainTex;
        sampler2D _DisplaceTex;

        fixed4 frag (v2f_img i) : SV_Target
        {
            half2 n = tex2D(_DisplaceTex, i.uv);
            half2 d = n*2-1; // 从颜色值转为单位向量
            i.uv += d;
            i.uv = saturate(i.uv);

            float4 c = tex2D(_MainTex, i.uv);
            return c;
        }
        ENDCG
    }
    // 1kx1k = 1M 
    // 5 * 5 = 25 *1M = 25M 二十五千万
    // 假设屏幕宽高为1000x1000，高斯核大小为5x5，进行一次高斯模糊需要多少次纹理采样？
// 对于一个1000x1000的屏幕，每个像素都需要进行一次5x5的高斯模糊处理。这意味着每个像素都需要进行25次纹理采样（因为5x5核中有25个采样点）。然而，由于图像的边缘像素没有足够的邻居像素，它们可能需要较少的采样。
// 如果我们不考虑边缘像素的特殊处理，对于整个屏幕，总的纹理采样次数可以这样计算：
// 总采样次数=屏幕宽度×屏幕高度×每个像素的采样次数
// 总采样次数=1000×1000×25
// 总采样次数=25,000,000
// 所以，对于一个1000x1000的屏幕，使用5x5的高斯核进行一次高斯模糊，总共需要25,000,000次纹理采样。
}
}